<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var obj = {
            createdAt: "2023-08-21T00:46:28.358Z"
        }
        var d1 = new Date(obj.createdAt);
        console.log(d1);
        /*
            日期对象的方法 只要为了  
                    获取 日期的年月日时分秒 毫秒  时间戳 --星期

                        日期格式化
                        日期的计算-时间差
                            时间戳相减或者日期对象相减

                    设置 日期的年月日时分秒 毫秒  时间戳



        */
        //    获取日期对象的年份
        console.log(d1.getFullYear());
        // 月 从0开始
        console.log(d1.getMonth());
        // 日
        console.log(d1.getDate());
        // 时
        console.log(d1.getHours());
        // 分
        console.log(d1.getMinutes());
        // 秒
        console.log(d1.getSeconds());
        // 毫秒
        console.log(d1.getMilliseconds());
        // 星期 0星期日 1 星期一
        console.log(d1.getDay());
        // 时间戳
        console.log(d1.getTime());

        /*         var arr = [1, 2, 4];
                var r = arr.pop();
                console.log(r);//4
                // arr[1, 2]
        
                // 调用了函数，并且打印了函数的返回值
                console.log(arr.pop());//2 */

        // 日期格式化--需要的字符串
        console.log(d1.getFullYear() + '年' + (d1.getMonth() + 1) + '月');

        // 日期的计算-- 时间差
        var now = new Date();
        //相差 的时间 毫秒
        // var res = now.getTime() - d1.getTime();
        // 日期对象相减，自动会转为时间戳相减
        var res = now - d1;
        console.log(res);
        var resHours = parseInt(res / 1000 / 60 / 60);
        console.log(resHours + '小时前');

        function getTimeStr(str) {
            var d1 = new Date(str);

            var now = new Date();
            //相差 的时间 毫秒
            var res = now.getTime() - d1.getTime();
            console.log(res);
            var resHours = parseInt(res / 1000 / 60 / 60);
            var resMins = parseInt(res / 1000 / 60);
            if (resMins < 60) {
                return resMins + '分钟前'
            } else if (resHours < 24) {
                return resHours + '小时前'
            } else if (now.getDate() - 1 == d1.getDate()) {
                return '昨天'

            } else if (now.getDate() - 2 == d1.getDate()) {
                return '前天'
            } else {
                return d1.getMonth() + 1 + '月' + d1.getDate() + '日'
            }
            // 昨日
            // 前天
            // 08月01日
        }
        var r1 = getTimeStr(obj.createdAt);
        console.log(r1);


        // 也可以计算 --相差的 时-分-秒--倒计时效果


    </script>

</body>

</html>